<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::KdTreeFLANN&lt; PointT, Dist &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_kd_tree_f_l_a_n_n.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_kd_tree_f_l_a_n_n-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::KdTreeFLANN&lt; PointT, Dist &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html" title="KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. The class is making use...">KdTreeFLANN</a> is a generic type of 3D spatial locator using kD-tree structures. The class is making use of the FLANN (Fast Library for Approximate Nearest Neighbor) project by Marius Muja and David Lowe.  
 <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="kdtree__flann_8h_source.html">kdtree_flann.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::KdTreeFLANN&lt; PointT, Dist &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_kd_tree_f_l_a_n_n.png" usemap="#pcl::KdTreeFLANN_3C_20PointT_2C_20Dist_20_3E_map" alt=""/>
  <map id="pcl::KdTreeFLANN_3C_20PointT_2C_20Dist_20_3E_map" name="pcl::KdTreeFLANN_3C_20PointT_2C_20Dist_20_3E_map">
<area href="classpcl_1_1_kd_tree.html" title="KdTree represents the base spatial locator class for kd-tree implementations." alt="pcl::KdTree&lt; PointT &gt;" shape="rect" coords="0,0,207,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a587a915d086b7af4c6606ff128a2842d"><td class="memItemLeft" align="right" valign="top"><a id="a587a915d086b7af4c6606ff128a2842d"></a>
typedef <a class="el" href="classpcl_1_1_kd_tree.html">KdTree</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::<a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:a587a915d086b7af4c6606ff128a2842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93df753b052aa80a512b6f9db4037aed"><td class="memItemLeft" align="right" valign="top"><a id="a93df753b052aa80a512b6f9db4037aed"></a>
typedef <a class="el" href="classpcl_1_1_kd_tree.html">KdTree</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:a93df753b052aa80a512b6f9db4037aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c900233ea4c04d60b53fdf7afe6647f"><td class="memItemLeft" align="right" valign="top"><a id="a0c900233ea4c04d60b53fdf7afe6647f"></a>
typedef boost::shared_ptr&lt; std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesPtr</b></td></tr>
<tr class="separator:a0c900233ea4c04d60b53fdf7afe6647f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81754d8b7cf12caf7ca63f920fcdcb22"><td class="memItemLeft" align="right" valign="top"><a id="a81754d8b7cf12caf7ca63f920fcdcb22"></a>
typedef boost::shared_ptr&lt; const std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesConstPtr</b></td></tr>
<tr class="separator:a81754d8b7cf12caf7ca63f920fcdcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada9ff8aaeebb5178ea97aa29cee92517"><td class="memItemLeft" align="right" valign="top"><a id="ada9ff8aaeebb5178ea97aa29cee92517"></a>
typedef ::<a class="el" href="classflann_1_1_index.html">flann::Index</a>&lt; Dist &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>FLANNIndex</b></td></tr>
<tr class="separator:ada9ff8aaeebb5178ea97aa29cee92517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e53089da17bd9ff3a843b214619214c"><td class="memItemLeft" align="right" valign="top"><a id="a1e53089da17bd9ff3a843b214619214c"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a1e53089da17bd9ff3a843b214619214c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6500d6fb49d76c3fb231e9f68b1e3508"><td class="memItemLeft" align="right" valign="top"><a id="a6500d6fb49d76c3fb231e9f68b1e3508"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a6500d6fb49d76c3fb231e9f68b1e3508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_kd_tree"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_kd_tree')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_kd_tree.html">pcl::KdTree&lt; PointT &gt;</a></td></tr>
<tr class="memitem:ae7de862d46cb5f2d9b60fa8922f45d43 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="ae7de862d46cb5f2d9b60fa8922f45d43"></a>
typedef boost::shared_ptr&lt; std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesPtr</b></td></tr>
<tr class="separator:ae7de862d46cb5f2d9b60fa8922f45d43 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada126cd8f1c318c504755b0063ab9177 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="ada126cd8f1c318c504755b0063ab9177"></a>
typedef boost::shared_ptr&lt; const std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesConstPtr</b></td></tr>
<tr class="separator:ada126cd8f1c318c504755b0063ab9177 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84570b862dd5c0f44f1be2f90b1cc11f inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a84570b862dd5c0f44f1be2f90b1cc11f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:a84570b862dd5c0f44f1be2f90b1cc11f inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abea0b603234db8adbc67a125db20ed74 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="abea0b603234db8adbc67a125db20ed74"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:abea0b603234db8adbc67a125db20ed74 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa09e1a3de435ed31a365bce375832602 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="aa09e1a3de435ed31a365bce375832602"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:aa09e1a3de435ed31a365bce375832602 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a637c567a0c5c457ddda56ebb209d3610 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a637c567a0c5c457ddda56ebb209d3610"></a>
typedef <a class="el" href="classpcl_1_1_point_representation.html">pcl::PointRepresentation</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointRepresentation</b></td></tr>
<tr class="separator:a637c567a0c5c457ddda56ebb209d3610 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a720d272653f6cf9aa83a2a67e417f930 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a720d272653f6cf9aa83a2a67e417f930"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_point_representation.html">PointRepresentation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointRepresentationConstPtr</b></td></tr>
<tr class="separator:a720d272653f6cf9aa83a2a67e417f930 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac67d73fe6e1949c885dee9f6ac2e318 inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="aac67d73fe6e1949c885dee9f6ac2e318"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_kd_tree.html">KdTree</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:aac67d73fe6e1949c885dee9f6ac2e318 inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07d45964a3e71f92234ee32848b6e78f inherit pub_types_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a07d45964a3e71f92234ee32848b6e78f"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_kd_tree.html">KdTree</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a07d45964a3e71f92234ee32848b6e78f inherit pub_types_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:adebe4b1eed5e5e1bc0d1dd085be9a8b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#adebe4b1eed5e5e1bc0d1dd085be9a8b7">KdTreeFLANN</a> (bool sorted=true)</td></tr>
<tr class="memdesc:adebe4b1eed5e5e1bc0d1dd085be9a8b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor for <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html" title="KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. The class is making use...">KdTreeFLANN</a>.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#adebe4b1eed5e5e1bc0d1dd085be9a8b7">更多...</a><br /></td></tr>
<tr class="separator:adebe4b1eed5e5e1bc0d1dd085be9a8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f00df5cf38f18820d2aec5ab908512"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a44f00df5cf38f18820d2aec5ab908512">KdTreeFLANN</a> (const <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;k)</td></tr>
<tr class="memdesc:a44f00df5cf38f18820d2aec5ab908512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a44f00df5cf38f18820d2aec5ab908512">更多...</a><br /></td></tr>
<tr class="separator:a44f00df5cf38f18820d2aec5ab908512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9acf3428029f353a4b67838e3c21225b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a9acf3428029f353a4b67838e3c21225b">operator=</a> (const <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;k)</td></tr>
<tr class="memdesc:a9acf3428029f353a4b67838e3c21225b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a9acf3428029f353a4b67838e3c21225b">更多...</a><br /></td></tr>
<tr class="separator:a9acf3428029f353a4b67838e3c21225b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e5aa1e4c6a23e161712919bef9a1a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a87e5aa1e4c6a23e161712919bef9a1a7">setEpsilon</a> (float eps)</td></tr>
<tr class="memdesc:a87e5aa1e4c6a23e161712919bef9a1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the search epsilon precision (error bound) for nearest neighbors searches.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a87e5aa1e4c6a23e161712919bef9a1a7">更多...</a><br /></td></tr>
<tr class="separator:a87e5aa1e4c6a23e161712919bef9a1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1af06f3e1a1fb40a2b3858c3edc9038"><td class="memItemLeft" align="right" valign="top"><a id="ad1af06f3e1a1fb40a2b3858c3edc9038"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setSortedResults</b> (bool sorted)</td></tr>
<tr class="separator:ad1af06f3e1a1fb40a2b3858c3edc9038"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b2346732b715083bd2559d701d87d6d"><td class="memItemLeft" align="right" valign="top"><a id="a3b2346732b715083bd2559d701d87d6d"></a>
Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>makeShared</b> ()</td></tr>
<tr class="separator:a3b2346732b715083bd2559d701d87d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7266873c887581cd840b07cac1fbe030"><td class="memItemLeft" align="right" valign="top"><a id="a7266873c887581cd840b07cac1fbe030"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a7266873c887581cd840b07cac1fbe030">~KdTreeFLANN</a> ()</td></tr>
<tr class="memdesc:a7266873c887581cd840b07cac1fbe030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor for <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html" title="KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. The class is making use...">KdTreeFLANN</a>. Deletes all allocated data arrays and destroys the kd-tree structures. <br /></td></tr>
<tr class="separator:a7266873c887581cd840b07cac1fbe030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba28a792bf0c2026aa0a6a99ed3e32ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aba28a792bf0c2026aa0a6a99ed3e32ec">setInputCloud</a> (const PointCloudConstPtr &amp;cloud, const IndicesConstPtr &amp;indices=IndicesConstPtr())</td></tr>
<tr class="memdesc:aba28a792bf0c2026aa0a6a99ed3e32ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aba28a792bf0c2026aa0a6a99ed3e32ec">更多...</a><br /></td></tr>
<tr class="separator:aba28a792bf0c2026aa0a6a99ed3e32ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bdbc03758c8d7b3033139e2fb1e6150"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a9bdbc03758c8d7b3033139e2fb1e6150">nearestKSearch</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point, int k, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances) const</td></tr>
<tr class="memdesc:a9bdbc03758c8d7b3033139e2fb1e6150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors for the given query point.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a9bdbc03758c8d7b3033139e2fb1e6150">更多...</a><br /></td></tr>
<tr class="separator:a9bdbc03758c8d7b3033139e2fb1e6150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab598d8e1220f1292b938e3a66f1ec370"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ab598d8e1220f1292b938e3a66f1ec370">radiusSearch</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point, double radius, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances, unsigned int max_nn=0) const</td></tr>
<tr class="memdesc:ab598d8e1220f1292b938e3a66f1ec370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for all the nearest neighbors of the query point in a given radius.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ab598d8e1220f1292b938e3a66f1ec370">更多...</a><br /></td></tr>
<tr class="separator:ab598d8e1220f1292b938e3a66f1ec370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_kd_tree"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_kd_tree')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_kd_tree.html">pcl::KdTree&lt; PointT &gt;</a></td></tr>
<tr class="memitem:a49e8890a0cd0e35d0d5290b6e2be7900 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a49e8890a0cd0e35d0d5290b6e2be7900">KdTree</a> (bool sorted=true)</td></tr>
<tr class="memdesc:a49e8890a0cd0e35d0d5290b6e2be7900 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor for <a class="el" href="classpcl_1_1_kd_tree.html" title="KdTree represents the base spatial locator class for kd-tree implementations.">KdTree</a>. Sets some internal values to their defaults.  <a href="classpcl_1_1_kd_tree.html#a49e8890a0cd0e35d0d5290b6e2be7900">更多...</a><br /></td></tr>
<tr class="separator:a49e8890a0cd0e35d0d5290b6e2be7900 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea7020b3505f736ba78fb38be00d16a inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a5ea7020b3505f736ba78fb38be00d16a"></a>
IndicesConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a5ea7020b3505f736ba78fb38be00d16a">getIndices</a> () const</td></tr>
<tr class="memdesc:a5ea7020b3505f736ba78fb38be00d16a inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a5ea7020b3505f736ba78fb38be00d16a inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4839876a6d01bddc7984a3193e23d463 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a4839876a6d01bddc7984a3193e23d463"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a4839876a6d01bddc7984a3193e23d463">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a4839876a6d01bddc7984a3193e23d463 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a4839876a6d01bddc7984a3193e23d463 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2c8cd07baaebb4e1504f223405419cc inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#ab2c8cd07baaebb4e1504f223405419cc">setPointRepresentation</a> (const PointRepresentationConstPtr &amp;point_representation)</td></tr>
<tr class="memdesc:ab2c8cd07baaebb4e1504f223405419cc inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the point representation to use to convert points into k-D vectors.  <a href="classpcl_1_1_kd_tree.html#ab2c8cd07baaebb4e1504f223405419cc">更多...</a><br /></td></tr>
<tr class="separator:ab2c8cd07baaebb4e1504f223405419cc inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa158ec6aedf91fc898fadffdee449c6 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="afa158ec6aedf91fc898fadffdee449c6"></a>
PointRepresentationConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#afa158ec6aedf91fc898fadffdee449c6">getPointRepresentation</a> () const</td></tr>
<tr class="memdesc:afa158ec6aedf91fc898fadffdee449c6 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the point representation used when converting points into k-D vectors. <br /></td></tr>
<tr class="separator:afa158ec6aedf91fc898fadffdee449c6 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3baf44b02605ba4efde9f49e93db3d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="aec3baf44b02605ba4efde9f49e93db3d"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#aec3baf44b02605ba4efde9f49e93db3d">~KdTree</a> ()</td></tr>
<tr class="memdesc:aec3baf44b02605ba4efde9f49e93db3d inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor for <a class="el" href="classpcl_1_1_kd_tree.html" title="KdTree represents the base spatial locator class for kd-tree implementations.">KdTree</a>. Deletes all allocated data arrays and destroys the kd-tree structures. <br /></td></tr>
<tr class="separator:aec3baf44b02605ba4efde9f49e93db3d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6375c3f23775693f316482e7bd1c5e5d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a6375c3f23775693f316482e7bd1c5e5d">nearestKSearch</a> (const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;cloud, int index, int k, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances) const</td></tr>
<tr class="memdesc:a6375c3f23775693f316482e7bd1c5e5d inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors for the given query point.  <a href="classpcl_1_1_kd_tree.html#a6375c3f23775693f316482e7bd1c5e5d">更多...</a><br /></td></tr>
<tr class="separator:a6375c3f23775693f316482e7bd1c5e5d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3de00ef91b96c2680c17de1b236c23 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memTemplParams" colspan="2">template&lt;typename PointTDiff &gt; </td></tr>
<tr class="memitem:a3c3de00ef91b96c2680c17de1b236c23 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a3c3de00ef91b96c2680c17de1b236c23">nearestKSearchT</a> (const PointTDiff &amp;point, int k, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances) const</td></tr>
<tr class="memdesc:a3c3de00ef91b96c2680c17de1b236c23 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors for the given query point. This method accepts a different template parameter for the point type.  <a href="classpcl_1_1_kd_tree.html#a3c3de00ef91b96c2680c17de1b236c23">更多...</a><br /></td></tr>
<tr class="separator:a3c3de00ef91b96c2680c17de1b236c23 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b8a30dcd9117c962e1940ad2bf3b79d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a7b8a30dcd9117c962e1940ad2bf3b79d">nearestKSearch</a> (int index, int k, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances) const</td></tr>
<tr class="memdesc:a7b8a30dcd9117c962e1940ad2bf3b79d inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors for the given query point (zero-copy).  <a href="classpcl_1_1_kd_tree.html#a7b8a30dcd9117c962e1940ad2bf3b79d">更多...</a><br /></td></tr>
<tr class="separator:a7b8a30dcd9117c962e1940ad2bf3b79d inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22292d6936e364d71b9289e5d8d58b1c inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a22292d6936e364d71b9289e5d8d58b1c">radiusSearch</a> (const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;cloud, int index, double radius, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances, unsigned int max_nn=0) const</td></tr>
<tr class="memdesc:a22292d6936e364d71b9289e5d8d58b1c inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for all the nearest neighbors of the query point in a given radius.  <a href="classpcl_1_1_kd_tree.html#a22292d6936e364d71b9289e5d8d58b1c">更多...</a><br /></td></tr>
<tr class="separator:a22292d6936e364d71b9289e5d8d58b1c inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa55c4339c96e4e406477418a1c98f289 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memTemplParams" colspan="2">template&lt;typename PointTDiff &gt; </td></tr>
<tr class="memitem:aa55c4339c96e4e406477418a1c98f289 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#aa55c4339c96e4e406477418a1c98f289">radiusSearchT</a> (const PointTDiff &amp;point, double radius, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances, unsigned int max_nn=0) const</td></tr>
<tr class="memdesc:aa55c4339c96e4e406477418a1c98f289 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for all the nearest neighbors of the query point in a given radius.  <a href="classpcl_1_1_kd_tree.html#aa55c4339c96e4e406477418a1c98f289">更多...</a><br /></td></tr>
<tr class="separator:aa55c4339c96e4e406477418a1c98f289 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa98483c78ce77e07454a9bfe56839cd4 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#aa98483c78ce77e07454a9bfe56839cd4">radiusSearch</a> (int index, double radius, std::vector&lt; int &gt; &amp;k_indices, std::vector&lt; float &gt; &amp;k_sqr_distances, unsigned int max_nn=0) const</td></tr>
<tr class="memdesc:aa98483c78ce77e07454a9bfe56839cd4 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for all the nearest neighbors of the query point in a given radius (zero-copy).  <a href="classpcl_1_1_kd_tree.html#aa98483c78ce77e07454a9bfe56839cd4">更多...</a><br /></td></tr>
<tr class="separator:aa98483c78ce77e07454a9bfe56839cd4 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f29d3de4ab5a0213806077e7c280f1b inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a9f29d3de4ab5a0213806077e7c280f1b"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a9f29d3de4ab5a0213806077e7c280f1b">getEpsilon</a> () const</td></tr>
<tr class="memdesc:a9f29d3de4ab5a0213806077e7c280f1b inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the search epsilon precision (error bound) for nearest neighbors searches. <br /></td></tr>
<tr class="separator:a9f29d3de4ab5a0213806077e7c280f1b inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd7f2b98e375c48d9fe113b95b3edc20 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#abd7f2b98e375c48d9fe113b95b3edc20">setMinPts</a> (int min_pts)</td></tr>
<tr class="memdesc:abd7f2b98e375c48d9fe113b95b3edc20 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum allowed number of k nearest neighbors points that a viable result must contain.  <a href="classpcl_1_1_kd_tree.html#abd7f2b98e375c48d9fe113b95b3edc20">更多...</a><br /></td></tr>
<tr class="separator:abd7f2b98e375c48d9fe113b95b3edc20 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62ad92ed0a7a494cdb8ba52d2c0dc08 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="ac62ad92ed0a7a494cdb8ba52d2c0dc08"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#ac62ad92ed0a7a494cdb8ba52d2c0dc08">getMinPts</a> () const</td></tr>
<tr class="memdesc:ac62ad92ed0a7a494cdb8ba52d2c0dc08 inherit pub_methods_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum allowed number of k nearest neighbors points that a viable result must contain. <br /></td></tr>
<tr class="separator:ac62ad92ed0a7a494cdb8ba52d2c0dc08 inherit pub_methods_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a26c68d6a3d8a71eaeed7d545aaa09626"><td class="memItemLeft" align="right" valign="top"><a id="a26c68d6a3d8a71eaeed7d545aaa09626"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a26c68d6a3d8a71eaeed7d545aaa09626">cleanup</a> ()</td></tr>
<tr class="memdesc:a26c68d6a3d8a71eaeed7d545aaa09626"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal cleanup method. <br /></td></tr>
<tr class="separator:a26c68d6a3d8a71eaeed7d545aaa09626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3afb0b425c5449859d94be855b997f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3c3afb0b425c5449859d94be855b997f">convertCloudToArray</a> (const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;cloud)</td></tr>
<tr class="memdesc:a3c3afb0b425c5449859d94be855b997f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> to the internal FLANN point array representation. Returns the number of points.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3c3afb0b425c5449859d94be855b997f">更多...</a><br /></td></tr>
<tr class="separator:a3c3afb0b425c5449859d94be855b997f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3383e2845cb630a5f35590e4eb0461cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3383e2845cb630a5f35590e4eb0461cf">convertCloudToArray</a> (const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;cloud, const std::vector&lt; int &gt; &amp;indices)</td></tr>
<tr class="memdesc:a3383e2845cb630a5f35590e4eb0461cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> with a given set of indices to the internal FLANN point array representation. Returns the number of points.  <a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3383e2845cb630a5f35590e4eb0461cf">更多...</a><br /></td></tr>
<tr class="separator:a3383e2845cb630a5f35590e4eb0461cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8433c05a2699a973d54672f3ffc58b03"><td class="memItemLeft" align="right" valign="top"><a id="a8433c05a2699a973d54672f3ffc58b03"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8433c05a2699a973d54672f3ffc58b03">getName</a> () const</td></tr>
<tr class="memdesc:a8433c05a2699a973d54672f3ffc58b03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class getName method. <br /></td></tr>
<tr class="separator:a8433c05a2699a973d54672f3ffc58b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a8b0b7140b9aa6d049c470d6a8d68bb6b"><td class="memItemLeft" align="right" valign="top"><a id="a8b0b7140b9aa6d049c470d6a8d68bb6b"></a>
boost::shared_ptr&lt; <a class="el" href="classflann_1_1_index.html">FLANNIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a></td></tr>
<tr class="memdesc:a8b0b7140b9aa6d049c470d6a8d68bb6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A FLANN index object. <br /></td></tr>
<tr class="separator:a8b0b7140b9aa6d049c470d6a8d68bb6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50c16340a9577a19c2f8c3efa07feb98"><td class="memItemLeft" align="right" valign="top"><a id="a50c16340a9577a19c2f8c3efa07feb98"></a>
boost::shared_array&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a></td></tr>
<tr class="memdesc:a50c16340a9577a19c2f8c3efa07feb98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal pointer to data. <br /></td></tr>
<tr class="separator:a50c16340a9577a19c2f8c3efa07feb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b4d9aaf228ed065f8c369b098ec5f5"><td class="memItemLeft" align="right" valign="top"><a id="af3b4d9aaf228ed065f8c369b098ec5f5"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a></td></tr>
<tr class="memdesc:af3b4d9aaf228ed065f8c369b098ec5f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">mapping between internal and external indices. <br /></td></tr>
<tr class="separator:af3b4d9aaf228ed065f8c369b098ec5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac18b49de0a6ad3e2e62197dd1740fe05"><td class="memItemLeft" align="right" valign="top"><a id="ac18b49de0a6ad3e2e62197dd1740fe05"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a></td></tr>
<tr class="memdesc:ac18b49de0a6ad3e2e62197dd1740fe05"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the mapping bwwteen internal and external indices is identity <br /></td></tr>
<tr class="separator:ac18b49de0a6ad3e2e62197dd1740fe05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec09a50535962b426d979d24a54b9c15"><td class="memItemLeft" align="right" valign="top"><a id="aec09a50535962b426d979d24a54b9c15"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a></td></tr>
<tr class="memdesc:aec09a50535962b426d979d24a54b9c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tree dimensionality (i.e. the number of dimensions per point). <br /></td></tr>
<tr class="separator:aec09a50535962b426d979d24a54b9c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59ec577841dfd3f8b81abea21c101df2"><td class="memItemLeft" align="right" valign="top"><a id="a59ec577841dfd3f8b81abea21c101df2"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a></td></tr>
<tr class="memdesc:a59ec577841dfd3f8b81abea21c101df2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total size of the data (either equal to the number of points in the input cloud or to the number of indices - if passed). <br /></td></tr>
<tr class="separator:a59ec577841dfd3f8b81abea21c101df2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af069d3c2d9bda60cd91b24f9cec8fad6"><td class="memItemLeft" align="right" valign="top"><a id="af069d3c2d9bda60cd91b24f9cec8fad6"></a>
::flann::SearchParams&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a></td></tr>
<tr class="memdesc:af069d3c2d9bda60cd91b24f9cec8fad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classpcl_1_1_kd_tree.html" title="KdTree represents the base spatial locator class for kd-tree implementations.">KdTree</a> search parameters for K-nearest neighbors. <br /></td></tr>
<tr class="separator:af069d3c2d9bda60cd91b24f9cec8fad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1793ce7e171eedaa00694607f68cae83"><td class="memItemLeft" align="right" valign="top"><a id="a1793ce7e171eedaa00694607f68cae83"></a>
::flann::SearchParams&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a></td></tr>
<tr class="memdesc:a1793ce7e171eedaa00694607f68cae83"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classpcl_1_1_kd_tree.html" title="KdTree represents the base spatial locator class for kd-tree implementations.">KdTree</a> search parameters for radius search. <br /></td></tr>
<tr class="separator:a1793ce7e171eedaa00694607f68cae83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_kd_tree"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_kd_tree')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_kd_tree.html">pcl::KdTree&lt; PointT &gt;</a></td></tr>
<tr class="memitem:a9b71072db4f7662c7c565d4c49145db2 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a9b71072db4f7662c7c565d4c49145db2"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">input_</a></td></tr>
<tr class="memdesc:a9b71072db4f7662c7c565d4c49145db2 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset containing the points we need to use. <br /></td></tr>
<tr class="separator:a9b71072db4f7662c7c565d4c49145db2 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae59a4b07f95b8193d951f940f7fb6e1d inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="ae59a4b07f95b8193d951f940f7fb6e1d"></a>
IndicesConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#ae59a4b07f95b8193d951f940f7fb6e1d">indices_</a></td></tr>
<tr class="memdesc:ae59a4b07f95b8193d951f940f7fb6e1d inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:ae59a4b07f95b8193d951f940f7fb6e1d inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa393b60f0978c529b28e060a21c96222 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="aa393b60f0978c529b28e060a21c96222"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a></td></tr>
<tr class="memdesc:aa393b60f0978c529b28e060a21c96222 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Epsilon precision (error bound) for nearest neighbors searches. <br /></td></tr>
<tr class="separator:aa393b60f0978c529b28e060a21c96222 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaceb7706d5a8b57ab626277f826162d3 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="aaceb7706d5a8b57ab626277f826162d3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#aaceb7706d5a8b57ab626277f826162d3">min_pts_</a></td></tr>
<tr class="memdesc:aaceb7706d5a8b57ab626277f826162d3 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum allowed number of k nearest neighbors points that a viable result must contain. <br /></td></tr>
<tr class="separator:aaceb7706d5a8b57ab626277f826162d3 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50d9f0a88e43cb9be347337865a5194 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="ac50d9f0a88e43cb9be347337865a5194"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#ac50d9f0a88e43cb9be347337865a5194">sorted_</a></td></tr>
<tr class="memdesc:ac50d9f0a88e43cb9be347337865a5194 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the radius search neighbours sorted <br /></td></tr>
<tr class="separator:ac50d9f0a88e43cb9be347337865a5194 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cacacf162468a473dca65193e708002 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memItemLeft" align="right" valign="top"><a id="a2cacacf162468a473dca65193e708002"></a>
PointRepresentationConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a></td></tr>
<tr class="memdesc:a2cacacf162468a473dca65193e708002 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">For converting different point structures into k-dimensional vectors for nearest-neighbor search. <br /></td></tr>
<tr class="separator:a2cacacf162468a473dca65193e708002 inherit pro_attribs_classpcl_1_1_kd_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointT, typename Dist = ::flann::L2_Simple&lt;float&gt;&gt;<br />
class pcl::KdTreeFLANN&lt; PointT, Dist &gt;</h3>

<p><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html" title="KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. The class is making use...">KdTreeFLANN</a> is a generic type of 3D spatial locator using kD-tree structures. The class is making use of the FLANN (Fast Library for Approximate Nearest Neighbor) project by Marius Muja and David Lowe. </p>
<dl class="section author"><dt>作者</dt><dd>Radu B. Rusu, Marius Muja </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="adebe4b1eed5e5e1bc0d1dd085be9a8b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adebe4b1eed5e5e1bc0d1dd085be9a8b7">&#9670;&nbsp;</a></span>KdTreeFLANN() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::<a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>sorted</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default Constructor for <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html" title="KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. The class is making use...">KdTreeFLANN</a>. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sorted</td><td>set to true if the application that the tree will be used for requires sorted nearest neighbor indices (default). False otherwise.</td></tr>
  </table>
  </dd>
</dl>
<p>By setting sorted to false, the <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ab598d8e1220f1292b938e3a66f1ec370">radiusSearch</a> operations will be faster. </p>
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  : <a class="code" href="classpcl_1_1_kd_tree.html">pcl::KdTree&lt;PointT&gt;</a> (sorted)</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a> (), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a> ()</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a> (), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> (<span class="keyword">false</span>)</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a> (0), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a> (0)</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a> (::flann::SearchParams (-1 , <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>))</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a> (::flann::SearchParams (-1, <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>, sorted))</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;{</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a1793ce7e171eedaa00694607f68cae83"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">pcl::KdTreeFLANN::param_radius_</a></div><div class="ttdeci">::flann::SearchParams param_radius_</div><div class="ttdoc">The KdTree search parameters for radius search.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:233</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a50c16340a9577a19c2f8c3efa07feb98"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">pcl::KdTreeFLANN::cloud_</a></div><div class="ttdeci">boost::shared_array&lt; float &gt; cloud_</div><div class="ttdoc">Internal pointer to data.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:215</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a59ec577841dfd3f8b81abea21c101df2"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">pcl::KdTreeFLANN::total_nr_points_</a></div><div class="ttdeci">int total_nr_points_</div><div class="ttdoc">The total size of the data (either equal to the number of points in the input cloud or to the number ...</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:227</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a8b0b7140b9aa6d049c470d6a8d68bb6b"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">pcl::KdTreeFLANN::flann_index_</a></div><div class="ttdeci">boost::shared_ptr&lt; FLANNIndex &gt; flann_index_</div><div class="ttdoc">A FLANN index object.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:212</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_ac18b49de0a6ad3e2e62197dd1740fe05"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">pcl::KdTreeFLANN::identity_mapping_</a></div><div class="ttdeci">bool identity_mapping_</div><div class="ttdoc">whether the mapping bwwteen internal and external indices is identity</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:221</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_aec09a50535962b426d979d24a54b9c15"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">pcl::KdTreeFLANN::dim_</a></div><div class="ttdeci">int dim_</div><div class="ttdoc">Tree dimensionality (i.e. the number of dimensions per point).</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:224</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_af069d3c2d9bda60cd91b24f9cec8fad6"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">pcl::KdTreeFLANN::param_k_</a></div><div class="ttdeci">::flann::SearchParams param_k_</div><div class="ttdoc">The KdTree search parameters for K-nearest neighbors.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:230</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_af3b4d9aaf228ed065f8c369b098ec5f5"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">pcl::KdTreeFLANN::index_mapping_</a></div><div class="ttdeci">std::vector&lt; int &gt; index_mapping_</div><div class="ttdoc">mapping between internal and external indices.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.h:218</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html"><div class="ttname"><a href="classpcl_1_1_kd_tree.html">pcl::KdTree</a></div><div class="ttdoc">KdTree represents the base spatial locator class for kd-tree implementations.</div><div class="ttdef"><b>Definition:</b> kdtree.h:57</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html_aa393b60f0978c529b28e060a21c96222"><div class="ttname"><a href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">pcl::KdTree::epsilon_</a></div><div class="ttdeci">float epsilon_</div><div class="ttdoc">Epsilon precision (error bound) for nearest neighbors searches.</div><div class="ttdef"><b>Definition:</b> kdtree.h:350</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a44f00df5cf38f18820d2aec5ab908512"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f00df5cf38f18820d2aec5ab908512">&#9670;&nbsp;</a></span>KdTreeFLANN() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::<a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy constructor </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the tree to copy into this </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  : <a class="code" href="classpcl_1_1_kd_tree.html">pcl::KdTree&lt;PointT&gt;</a> (<span class="keyword">false</span>)</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a> (), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a> ()</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a> (), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> (<span class="keyword">false</span>)</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a> (0), <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a> (0)</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a> (::flann::SearchParams (-1 , <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>))</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  , <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a> (::flann::SearchParams (-1, <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>, <span class="keyword">false</span>))</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  *<span class="keyword">this</span> = k;</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a3c3afb0b425c5449859d94be855b997f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c3afb0b425c5449859d94be855b997f">&#9670;&nbsp;</a></span>convertCloudToArray() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::convertCloudToArray </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;&#160;</td>
          <td class="paramname"><em>cloud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> to the internal FLANN point array representation. Returns the number of points. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cloud</td><td>the <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;{</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">// No point in doing anything if the array is empty</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keywordflow">if</span> (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>.empty ())</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  {</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.reset ();</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  }</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="keywordtype">int</span> original_no_of_points = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>.size ());</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.reset (<span class="keyword">new</span> <span class="keywordtype">float</span>[original_no_of_points * <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>]);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="keywordtype">float</span>* cloud_ptr = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.get ();</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.reserve (original_no_of_points);</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> cloud_index = 0; cloud_index &lt; original_no_of_points; ++cloud_index)</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  {</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="comment">// Check if the point is invalid</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;isValid (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[cloud_index]))</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    {</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    }</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.push_back (cloud_index);</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;vectorize (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[cloud_index], cloud_ptr);</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    cloud_ptr += <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  }</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html_a2cacacf162468a473dca65193e708002"><div class="ttname"><a href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">pcl::KdTree::point_representation_</a></div><div class="ttdeci">PointRepresentationConstPtr point_representation_</div><div class="ttdoc">For converting different point structures into k-dimensional vectors for nearest-neighbor search.</div><div class="ttdef"><b>Definition:</b> kdtree.h:359</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_af16a62638198313b9c093127c492c884"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">pcl::PointCloud::points</a></div><div class="ttdeci">std::vector&lt; PointT, Eigen::aligned_allocator&lt; PointT &gt; &gt; points</div><div class="ttdoc">The point data.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:410</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3383e2845cb630a5f35590e4eb0461cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3383e2845cb630a5f35590e4eb0461cf">&#9670;&nbsp;</a></span>convertCloudToArray() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::convertCloudToArray </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &amp;&#160;</td>
          <td class="paramname"><em>cloud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>indices</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> with a given set of indices to the internal FLANN point array representation. Returns the number of points. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cloud</td><td>the <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">indices</td><td>the point cloud indices </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="comment">// No point in doing anything if the array is empty</span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keywordflow">if</span> (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>.empty ())</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  {</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.reset ();</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  }</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="keywordtype">int</span> original_no_of_points = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (indices.size ());</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.reset (<span class="keyword">new</span> <span class="keywordtype">float</span>[original_no_of_points * <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>]);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="keywordtype">float</span>* cloud_ptr = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.get ();</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.reserve (original_no_of_points);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// its a subcloud -&gt; false</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">// true only identity: </span></div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">//     - indices size equals cloud size</span></div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="comment">//     - indices only contain values between 0 and cloud.size - 1</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="comment">//     - no index is multiple times in the list</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="comment">//     =&gt; index is complete</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">// But we can not guarantee that =&gt; identity_mapping_ = false</span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  </div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordflow">for</span> (std::vector&lt;int&gt;::const_iterator iIt = indices.begin (); iIt != indices.end (); ++iIt)</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  {</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="comment">// Check if the point is invalid</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;isValid (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[*iIt]))</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;      <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="comment">// map from 0 - N -&gt; indices [0] - indices [N]</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.push_back (*iIt);  <span class="comment">// If the returned index should be for the indices vector</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;vectorize (cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[*iIt], cloud_ptr);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    cloud_ptr += <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>;</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  }</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9bdbc03758c8d7b3033139e2fb1e6150"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bdbc03758c8d7b3033139e2fb1e6150">&#9670;&nbsp;</a></span>nearestKSearch()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::nearestKSearch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>k_indices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>k_sqr_distances</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Search for k-nearest neighbors for the given query point. </p>
<dl class="section attention"><dt>注意</dt><dd>This method does not do any bounds checking for the input index (i.e., index &gt;= cloud.points.size () || index &lt; 0), and assumes valid (i.e., finite) data.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>a given <em>valid</em> (i.e., finite) query point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the number of neighbors to search for </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">k_indices</td><td>the resultant indices of the neighboring points (must be resized to <em>k</em> a priori!) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">k_sqr_distances</td><td>the resultant squared distances to the neighboring points (must be resized to <em>k</em> a priori!) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>number of neighbors found</dd></dl>
<dl class="exception"><dt>异常</dt><dd>
  <table class="exception">
    <tr><td class="paramname">asserts</td><td>in debug mode if the index is not between 0 and the maximum number of points </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1_kd_tree.html#ac81c442ff9c9b1e03c10cb55128e726d">pcl::KdTree&lt; PointT &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;{</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  assert (<a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;isValid (point) &amp;&amp; <span class="stringliteral">&quot;Invalid (NaN, Inf) point coordinates given to nearestKSearch!&quot;</span>);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keywordflow">if</span> (k &gt; <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a>)</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    k = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a>;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  k_indices.resize (k);</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  k_distances.resize (k);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  std::vector&lt;float&gt; query (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;vectorize (<span class="keyword">static_cast&lt;</span><a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a><span class="keyword">&gt;</span> (point), query);</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <a class="code" href="classflann_1_1_matrix.html">::flann::Matrix&lt;int&gt;</a> k_indices_mat (&amp;k_indices[0], 1, k);</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classflann_1_1_matrix.html">::flann::Matrix&lt;float&gt;</a> k_distances_mat (&amp;k_distances[0], 1, k);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="comment">// Wrap the k_indices and k_distances vectors (no data copy)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a>-&gt;knnSearch (::<a class="code" href="classflann_1_1_matrix.html">flann::Matrix&lt;float&gt;</a> (&amp;query[0], 1, <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>), </div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                           k_indices_mat, k_distances_mat,</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                           k, <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a>);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="comment">// Do mapping to original point cloud</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a>) </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  {</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; static_cast&lt;size_t&gt; (k); ++i)</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    {</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <span class="keywordtype">int</span>&amp; neighbor_index = k_indices[i];</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      neighbor_index = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>[neighbor_index];</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    }</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  }</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <span class="keywordflow">return</span> (k);</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;}</div>
<div class="ttc" id="aclassflann_1_1_matrix_html"><div class="ttname"><a href="classflann_1_1_matrix.html">flann::Matrix</a></div><div class="ttdef"><b>Definition:</b> flann_search.h:51</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_r_g_b_a_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z_r_g_b_a.html">pcl::PointXYZRGBA</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates, and the RGBA color.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:540</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9acf3428029f353a4b67838e3c21225b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9acf3428029f353a4b67838e3c21225b">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist  = ::flann::L2_Simple&lt;float&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt;<a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>&gt;&amp; <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy operator </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the tree to copy into this </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      {</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        KdTree&lt;PointT&gt;::operator=(k);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a> = k.flann_index_;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a> = k.cloud_;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a> = k.index_mapping_;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a> = k.identity_mapping_;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a> = k.dim_;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a> = k.total_nr_points_;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a> = k.param_k_;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a> = k.param_radius_;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> (*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab598d8e1220f1292b938e3a66f1ec370"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab598d8e1220f1292b938e3a66f1ec370">&#9670;&nbsp;</a></span>radiusSearch()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::radiusSearch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>k_indices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>k_sqr_distances</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>max_nn</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Search for all the nearest neighbors of the query point in a given radius. </p>
<dl class="section attention"><dt>注意</dt><dd>This method does not do any bounds checking for the input index (i.e., index &gt;= cloud.points.size () || index &lt; 0), and assumes valid (i.e., finite) data.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>a given <em>valid</em> (i.e., finite) query point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>the radius of the sphere bounding all of p_q's neighbors </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">k_indices</td><td>the resultant indices of the neighboring points </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">k_sqr_distances</td><td>the resultant squared distances to the neighboring points </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">max_nn</td><td>if given, bounds the maximum returned neighbors to this value. If <em>max_nn</em> is set to 0 or to a number higher than the number of points in the input cloud, all neighbors in <em>radius</em> will be returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>number of neighbors found in radius</dd></dl>
<dl class="exception"><dt>异常</dt><dd>
  <table class="exception">
    <tr><td class="paramname">asserts</td><td>in debug mode if the index is not between 0 and the maximum number of points </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1_kd_tree.html#a662d9de50237121e142502a8737dfefa">pcl::KdTree&lt; PointT &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;{</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  assert (<a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;isValid (point) &amp;&amp; <span class="stringliteral">&quot;Invalid (NaN, Inf) point coordinates given to radiusSearch!&quot;</span>);</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  std::vector&lt;float&gt; query (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>);</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;vectorize (<span class="keyword">static_cast&lt;</span><a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a><span class="keyword">&gt;</span> (point), query);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="comment">// Has max_nn been set properly?</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keywordflow">if</span> (max_nn == 0 || max_nn &gt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a>))</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    max_nn = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  std::vector&lt;std::vector&lt;int&gt; &gt; indices(1);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  std::vector&lt;std::vector&lt;float&gt; &gt; dists(1);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  ::flann::SearchParams params (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a>);</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keywordflow">if</span> (max_nn == <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a>))</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    params.max_neighbors = -1;  <span class="comment">// return all neighbors in radius</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    params.max_neighbors = max_nn;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keywordtype">int</span> neighbors_in_radius = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a>-&gt;radiusSearch (::<a class="code" href="classflann_1_1_matrix.html">flann::Matrix&lt;float&gt;</a> (&amp;query[0], 1, <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>),</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      indices,</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      dists,</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (radius * radius), </div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      params);</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  k_indices = indices[0];</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  k_sqr_dists = dists[0];</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="comment">// Do mapping to original point cloud</span></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#ac18b49de0a6ad3e2e62197dd1740fe05">identity_mapping_</a>) </div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  {</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; neighbors_in_radius; ++i)</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    {</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      <span class="keywordtype">int</span>&amp; neighbor_index = k_indices[i];</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      neighbor_index = <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>[neighbor_index];</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    }</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  }</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="keywordflow">return</span> (neighbors_in_radius);</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a87e5aa1e4c6a23e161712919bef9a1a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87e5aa1e4c6a23e161712919bef9a1a7">&#9670;&nbsp;</a></span>setEpsilon()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::setEpsilon </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>eps</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the search epsilon precision (error bound) for nearest neighbors searches. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">eps</td><td>precision (error bound) for nearest neighbors searches </td></tr>
  </table>
  </dd>
</dl>

<p>重载 <a class="el" href="classpcl_1_1_kd_tree.html#aa150954080bc14f46772871739c3bfff">pcl::KdTree&lt; PointT &gt;</a> .</p>
<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a> = eps;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af069d3c2d9bda60cd91b24f9cec8fad6">param_k_</a> =  ::flann::SearchParams (-1 , <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a1793ce7e171eedaa00694607f68cae83">param_radius_</a> = ::flann::SearchParams (-1 , <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a>, <a class="code" href="classpcl_1_1_kd_tree.html#ac50d9f0a88e43cb9be347337865a5194">sorted_</a>);</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html_ac50d9f0a88e43cb9be347337865a5194"><div class="ttname"><a href="classpcl_1_1_kd_tree.html#ac50d9f0a88e43cb9be347337865a5194">pcl::KdTree::sorted_</a></div><div class="ttdeci">bool sorted_</div><div class="ttdoc">Return the radius search neighbours sorted</div><div class="ttdef"><b>Definition:</b> kdtree.h:356</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aba28a792bf0c2026aa0a6a99ed3e32ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba28a792bf0c2026aa0a6a99ed3e32ec">&#9670;&nbsp;</a></span>setInputCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename Dist &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">pcl::KdTreeFLANN</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Dist &gt;::setInputCloud </td>
          <td>(</td>
          <td class="paramtype">const PointCloudConstPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IndicesConstPtr &amp;&#160;</td>
          <td class="paramname"><em>indices</em> = <code>IndicesConstPtr&#160;()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provide a pointer to the input dataset. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cloud</td><td>the const boost shared pointer to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">indices</td><td>the point indices subset that is to be used from <em>cloud</em> - if NULL the whole cloud is used </td></tr>
  </table>
  </dd>
</dl>

<p>重载 <a class="el" href="classpcl_1_1_kd_tree.html#ac105d90b2b10383adb58e62abe7b1161">pcl::KdTree&lt; PointT &gt;</a> .</p>
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;{</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a26c68d6a3d8a71eaeed7d545aaa09626">cleanup</a> ();   <span class="comment">// Perform an automatic cleanup of structures</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#aa393b60f0978c529b28e060a21c96222">epsilon_</a> = 0.0f;   <span class="comment">// default error bound value</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a> = <a class="code" href="classpcl_1_1_kd_tree.html#a2cacacf162468a473dca65193e708002">point_representation_</a>-&gt;getNumberOfDimensions (); <span class="comment">// Number of dimensions - default is 3 = xyz</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">input_</a>   = cloud;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree.html#ae59a4b07f95b8193d951f940f7fb6e1d">indices_</a> = indices;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">// Allocate enough data</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">input_</a>)</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  {</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::KdTreeFLANN::setInputCloud] Invalid input!\n&quot;</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  }</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordflow">if</span> (indices != NULL)</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  {</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3c3afb0b425c5449859d94be855b997f">convertCloudToArray</a> (*<a class="code" href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">input_</a>, *<a class="code" href="classpcl_1_1_kd_tree.html#ae59a4b07f95b8193d951f940f7fb6e1d">indices_</a>);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  }</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  {</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3c3afb0b425c5449859d94be855b997f">convertCloudToArray</a> (*<a class="code" href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">input_</a>);</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  }</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a> = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.size ());</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a59ec577841dfd3f8b81abea21c101df2">total_nr_points_</a> == 0)</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  {</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!\n&quot;</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  }</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a>.reset (<span class="keyword">new</span> FLANNIndex (::<a class="code" href="classflann_1_1_matrix.html">flann::Matrix&lt;float&gt;</a> (<a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a50c16340a9577a19c2f8c3efa07feb98">cloud_</a>.get (), </div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                                                              <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#af3b4d9aaf228ed065f8c369b098ec5f5">index_mapping_</a>.size (), </div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                                                              <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#aec09a50535962b426d979d24a54b9c15">dim_</a>),</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                                      ::flann::KDTreeSingleIndexParams (15))); <span class="comment">// max 15 points/leaf</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <a class="code" href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a8b0b7140b9aa6d049c470d6a8d68bb6b">flann_index_</a>-&gt;buildIndex ();</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a26c68d6a3d8a71eaeed7d545aaa09626"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a26c68d6a3d8a71eaeed7d545aaa09626">pcl::KdTreeFLANN::cleanup</a></div><div class="ttdeci">void cleanup()</div><div class="ttdoc">Internal cleanup method.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.hpp:214</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_f_l_a_n_n_html_a3c3afb0b425c5449859d94be855b997f"><div class="ttname"><a href="classpcl_1_1_kd_tree_f_l_a_n_n.html#a3c3afb0b425c5449859d94be855b997f">pcl::KdTreeFLANN::convertCloudToArray</a></div><div class="ttdeci">void convertCloudToArray(const PointCloud &amp;cloud)</div><div class="ttdoc">Converts a PointCloud to the internal FLANN point array representation. Returns the number of points.</div><div class="ttdef"><b>Definition:</b> kdtree_flann.hpp:225</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html_a9b71072db4f7662c7c565d4c49145db2"><div class="ttname"><a href="classpcl_1_1_kd_tree.html#a9b71072db4f7662c7c565d4c49145db2">pcl::KdTree::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset containing the points we need to use.</div><div class="ttdef"><b>Definition:</b> kdtree.h:344</div></div>
<div class="ttc" id="aclasspcl_1_1_kd_tree_html_ae59a4b07f95b8193d951f940f7fb6e1d"><div class="ttname"><a href="classpcl_1_1_kd_tree.html#ae59a4b07f95b8193d951f940f7fb6e1d">pcl::KdTree::indices_</a></div><div class="ttdeci">IndicesConstPtr indices_</div><div class="ttdoc">A pointer to the vector of point indices to use.</div><div class="ttdef"><b>Definition:</b> kdtree.h:347</div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>kdtree/include/pcl/kdtree/<a class="el" href="kdtree__flann_8h_source.html">kdtree_flann.h</a></li>
<li>kdtree/include/pcl/kdtree/impl/<a class="el" href="kdtree__flann_8hpp_source.html">kdtree_flann.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_kd_tree_f_l_a_n_n.html">KdTreeFLANN</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
